﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ZFine.Domain;

namespace Entity.ProjectEnt
{
    public class HistoryGudaoCarEntity : IEntity<HistoryGudaoCarEntity>, ICreationAudited, IDeleteAudited, IModificationAudited
    {
        public string F_Id { get; set; }
        public string F_CreatorUserId { get; set; }
        public DateTime? F_CreatorTime { get; set; }
        /// <summary>
        ///逻辑删除标记
        /// </summary>
        public bool? F_DeleteMark { get; set; }
        /// <summary>
        /// 删除实体的用户
        /// </summary>
        public string F_DeleteUserId { get; set; }
        /// <summary>
        /// 删除实体时间
        /// </summary>
        public DateTime? F_DeleteTime { get; set; }
        public string F_LastModifyUserId { get; set; }
        public DateTime? F_LastModifyTime { get; set; }


        /// <summary>
        /// 品名
        /// </summary>
        public string ThingsName { get; set; }
        /// <summary>
        /// 封号
        /// </summary>
        public string Fenhao { get; set; }

        /// <summary>
        /// 到站时间（到达日期）
        /// </summary>
        public DateTime? ArriveDateTime { get; set; }

        /// <summary>
        /// 是否起票（后添加）
        /// </summary>
        public bool? isQiPiao { get; set; }
        public DateTime? QiPiaoTime { get; set; }
        /// <summary>
        /// 是否统计运量
        /// </summary>
        public bool? isAccomplishStatistics { get; set; }
        public DateTime? AccomplishStatisticsTime { get; set; }

        /// <summary>
        /// 是否放行
        /// </summary>
        public bool? IsAccomplishPermitThrough { get; set; }
        public DateTime? AccomplishPermitThroughTime { get; set; }

        /// <summary>
        /// 是否排车
        /// </summary>
        public bool? isAccomplishPaiche { get; set; }
        public DateTime? AccomplishPaicheTime { get; set; }

        /// <summary>
        /// 是否完成对位
        /// </summary>
        public bool? IsAccomplishduiwei { get; set; }
        public DateTime? AccomplishduiweiTime { get; set; }

        public string Remark { get; set; }

        /// <summary>
        /// 到/发站
        /// </summary>
        public string ArriveStation { get; set; }

        /// <summary>
        /// 货物重量
        /// </summary>
        public decimal? Weight { get; set; }

        /// <summary>
        /// 货物件数
        /// </summary>
        public decimal? UnitNumber { get; set; }

        /// <summary>
        /// 客户名
        /// </summary>
        public string Customers { get; set; }
        /// <summary>
        /// 车在股道的排序（从西-东 递增）
        /// </summary>
        public int? CarGudaoIndex { get; set; }

        /// <summary>
        /// 所属的股道实体
        /// </summary>
        public virtual PathwayEntity BelongPathway { get; set; }

        /// <summary>
        /// 所属车辆实体
        /// </summary>
        public virtual CarriageEntity BelongCarriage { get; set; }

        public bool? State { get; set; }

        /// <summary>
        /// 当次操作 运量
        /// </summary>
        public virtual OperationGudaoCarEntity Operation { get; set; }

        /// <summary>
        ///放行操作的外键 
        ///</summary>
        public virtual OperationGudaoCarEntity PassOper { get; set; }
        ///<summary>
        ///起票操作的外键
        ///</summary>
        public virtual OperationGudaoCarEntity QiPiaoOper { get; set; }
        /// <summary>
        /// 清空股道 操作外键
        /// </summary>
        public virtual OperationGudaoCarEntity ClearGudaoOper { get; set; }

        /// <summary>
        /// 计划 操作外键
        /// </summary>
        public virtual OperationGudaoCarEntity WorkPlanOper { get; set; }

        /// <summary>
        /// 对位操作外键
        /// </summary>
        public virtual OperationGudaoCarEntity DuiWeiOper { get; set; }
        /// <summary>
        /// 是否回收重装
        /// </summary>
        public bool? IsRecovery { get; set; }
        /// <summary>
        /// 回收重装时间
        /// </summary>
        public DateTime? RecoveryTime { get; set; }
        /// <summary>
        /// 回收重装外键
        /// </summary>
        public virtual OperationGudaoCarEntity RecoveryOper { get; set; }
    }
}
